package com.cskaoyan.controller;
import com.cskaoyan.bean.BaseRespVo;
import com.cskaoyan.bean.WxConfig;
import com.cskaoyan.bean.dto.ExpressConfigDto;
import com.cskaoyan.bean.dto.MallConfigDto;
import com.cskaoyan.bean.dto.OrderConfigDto;
import com.cskaoyan.service.AdminConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("admin/config")
public class AdminConfigController {
    @Autowired
    AdminConfigService configService;

    /**
     * 获得商场配置信息
     * @return
     */
    @RequestMapping("/mall")
    public BaseRespVo mall(){
        MallConfigDto mallConfig = configService.selectMallConfig();
        return BaseRespVo.ok(mallConfig);
    }

    /**
     * 更新商场配置信息
     * @return
     */
    @PostMapping("/mall")
    public BaseRespVo updateMallConfig(@RequestBody MallConfigDto mallConfig){
        configService.updateMallConfig(mallConfig);
        return BaseRespVo.ok();
    }

    /**
     * 获得运费配置信息
     * @return
     */
    @RequestMapping("express")
    public BaseRespVo express(){
        ExpressConfigDto expressConfig = configService.selectExpressConfig();
        return BaseRespVo.ok(expressConfig);
    }

    /**
     * 更改运费配置信息
     * @return
     */
    @PostMapping("/express")
    public BaseRespVo updateExpressConfig(@RequestBody ExpressConfigDto expressConfig){
        configService.updateExpressConfig(expressConfig);
        return BaseRespVo.ok();
    }


    /**
     * 获得订单配置信息
     * @return
     */
    @RequestMapping("/order")
    public BaseRespVo order(){
        OrderConfigDto orderConfig = configService.selectOrderConfig();
        return BaseRespVo.ok(orderConfig);
    }

    /**
     * 更改运费配置信息
     * @return
     */
    @PostMapping("/order")
    public BaseRespVo updateOrderConfig(@RequestBody OrderConfigDto orderConfig){
        configService.updateOrderConfig(orderConfig);
        return BaseRespVo.ok();
    }
    /**
     * 获得微信小程序配置信息
     * @return
     */
    @RequestMapping("/wx")
    public BaseRespVo wx(){
        WxConfig wxConfig = configService.selectWxConfig();
        return BaseRespVo.ok(wxConfig);
    }
    @PostMapping("/wx")
    public BaseRespVo updateWxConfig(@RequestBody WxConfig wxConfig){
        configService.updateWxConfig(wxConfig);
        return BaseRespVo.ok();
    }
}
